Users of modern computing devices have become accustomed to utilizing multiple different computing devices interchangeably, either to accomplish differing tasks, or in a collaborative fashion to accomplish a single task. For example, users can start composing a word processing document on their desktop computer and then finish composing the document on their tablet computing device. However, the current paradigm is to develop applications for specific computing devices or computing device types and assumes a device-centric world.
Furthermore, a majority of users of computing devices focus on the application programs installed on such computing devices when interacting with, and utilizing, those computing devices. More specifically, users determine a particular task that they desire to perform with the computing device and then further determine which of one or more application programs installed on such a computing device they should select and interact with to accomplish such a task. With the proliferation of operating system platforms that facilitate the purchasing and downloading of application programs, users' application-centric viewpoints are only likely to increase.